#/usr/bin/env python
# -*- coding: utf-8 -*-

from sqlite3 import dbapi2 as sqlite
from os import path

ARQUIVO = 'database.db'
class BancoDados():
    def __init__(self,caminho=ARQUIVO):
        self.caminho=caminho
        self.conexao = self.__criar_conexao()
        
    def __criar_conexao(self):
        
        if not path.exists(self.caminho):
            conn = sqlite.connect(self.caminho)
            cursor = conn.cursor()
            cursor.execute('CREATE TABLE PontosTuristicos(id INTEGER primary key,\
                           nome text NOT NULL UNIQUE,cidade NOT NULL, local text NOT NULL, endereco text NOT NULL, \
                           descricao text NOT NULL, horario text NOT NULL, mapa text, foto text)') # Colocar valores defaults para foto e mapa
            #cursor.execute('CREATE TABLE Bairros(id INTEGER primary key, nome text NOT NULL, cidade NOT NULL)')

            cursor.close()
            conn.commit()
        else:
            conn = sqlite.connect(self.caminho)

        return conn
    
    def inserir(self,tupla):
        self.__executar_query('INSERT INTO PontosTuristicos(nome,cidade,endereco,local,descricao,horario,mapa,foto) VALUES\
                              (?,?,?,?,?,?,?,?)',tupla)
        
    def select_id(self,id):
        return self.__executar_query('Select * from PontosTuristicos where id=?',(id,))

    def select_local(self,local):
        return self.__executar_query('Select id,nome from PontosTuristicos where cidade=?',(local,))
        
    
    def __executar_query(self,query,vars):
        cursor = self.conexao.cursor()
        cursor.execute(query,vars)
        self.conexao.commit()
        lista = cursor.fetchall()
        cursor.close()
        return lista

if __name__ == '__main__':
    banco = BancoDados('teste.db')
